
#pragma once

#include <sstream>

class GameControls
{
public:
	virtual ~GameControls(){}

	// I/O Controls
	virtual bool Save(const char* const filename) = 0;
	virtual bool Load(const char* const filename) = 0;

	// Game Controls
	virtual void Run() = 0;
	virtual void Restart() = 0;
	virtual void Quit() = 0;
	virtual void Simulate(const bool i_doNotPrompt) = 0;
	virtual void EndSeason(const bool i_doNotPrompt, std::stringstream& o_message) = 0;
};